package com.pai4j.domain.vo.response;

import lombok.Data;

import java.util.Date;

/**
 * 统一待审核响应VO
 */
@Data
public class PendingApprovalResponseVO {

    /**
     * 待审核记录ID
     */
    private Long id;

    /**
     * 待审核类型
     * @see com.pai4j.common.enums.PendingApprovalTypeEnum
     */
    private Integer approvalType;

    /**
     * 待审核类型名称
     */
    private String approvalTypeName;

    /**
     * 申请人账号
     */
    private String applicantAccount;

    /**
     * 申请人昵称
     */
    private String applicantNickname;

    /**
     * 申请人头像
     */
    private String applicantAvatar;

    /**
     * 审批人账号
     */
    private String approverAccount;

    /**
     * 关联目标ID
     * 好友申请：targetAccount
     * 加群申请：groupPaiId
     */
    private String targetId;

    /**
     * 关联目标名称
     * 好友申请：目标用户昵称
     * 加群申请：群名称
     */
    private String targetName;

    /**
     * 申请留言
     */
    private String applicationMessage;

    /**
     * 审批状态
     * 1=待处理, 2=已同意, 3=已拒绝, 4=已过期
     */
    private Integer approvalStatus;

    /**
     * 审批状态名称
     */
    private String approvalStatusName;

    /**
     * 是否已读
     */
    private Boolean isRead;

    /**
     * 业务表记录ID
     */
    private Long bizRecordId;

    /**
     * 处理人账号
     */
    private String handledByAccount;

    /**
     * 审批时间
     */
    private Date approvalTime;

    /**
     * 审批意见
     */
    private String approvalRemark;

    /**
     * 过期时间
     */
    private Date expireTime;

    /**
     * 创建时间
     */
    private Date createDate;

    /**
     * 扩展字段（JSON格式）
     */
    private String ext;
}
